/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pt.iasd.youthshelter.datamodel.service;

import java.util.List;
import pt.iasd.youthshelter.datacore.controller.exceptions.IllegalOrphanException;
import pt.iasd.youthshelter.datacore.controller.exceptions.NonexistentEntityException;
import pt.iasd.youthshelter.datamodel.Lider;

/**
 *
 * @author Rui
 */
public interface LiderController {

    void create(Lider lider);

    void destroy(Integer id) throws IllegalOrphanException, NonexistentEntityException;

    void edit(Lider lider) throws IllegalOrphanException, NonexistentEntityException, Exception;

    Lider findLider(Integer id);

    List<Lider> findLiderEntities();

    List<Lider> findLiderEntities(int maxResults, int firstResult);
    
    List<Lider> findActiveLiderEntities();
    
    List<Lider> findActiveLiderEntities(int maxResults, int firstResult);

    int getLiderCount();
    
}
